package io.adrainty.bolee.trade.models.entity;

import io.adrainty.bolee.framework.commons.basic.BaseEntity;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serial;
import java.util.List;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/31 下午10:58
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "支付渠道")
@EqualsAndHashCode(callSuper = true)
public class PayChannelEntity extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 8288183043676581568L;

    @Schema(description = "通道名称")
    private String channelName;

    @Schema(description = "通道唯一标记")
    private String channelLabel;

    @Schema(description = "域名")
    private String domain;

    @Schema(description = "商户appid")
    private String appId;

    @Schema(description = "公钥")
    private String publicKey;

    @Schema(description = "商户私钥")
    private String merchantPrivateKey;

    @Schema(description = "其他配置")
    private String otherConfig;

    @Schema(description = "AES混淆密钥")
    private String encryptKey;

    @Schema(description = "扩展配置")
    private List<OtherConfigEntity> otherConfigs;

    @Schema(description = "商户ID【系统内部识别使用】")
    private String companyNo;

    @Schema(description = "回调地址")
    private String notifyUrl;

    @Schema(description = "数据状态：0正常 1禁用")
    private EnableEnum dataState;

}
